package com.nb.entity;

import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import lombok.Data;

import java.time.LocalDateTime;

@Data
@Table(value = "legal_case",dataSource = "caseDS")
public class Case {

    @Id(keyType = KeyType.Auto)
    @Column(value = "id", comment = "案件ID")
    private Long id;

    @Column(value = "case_no", comment = "案件编号")
    private String caseNo;

    @Column(value = "user_id", comment = "申请人ID")
    private Long userId;

    @Column(value = "lawyer_id", comment = "承办律师ID")
    private Long lawyerId;

    @Column(value = "title", comment = "案件标题")
    private String title;

    @Column(value = "type", comment = "案件类型")
    private String type;

    @Column(value = "region", comment = "案件地域")
    private String region;

    @Column(value = "description", comment = "案情描述")
    private String description;

    @Column(value = "status", comment = "案件状态")
    private String status;

    @Column(value = "current_stage", comment = "当前处理阶段")
    private String currentStage;

    @Column(value = "progress_percent", comment = "进度百分比")
    private Integer progressPercent;

    @Column(value = "apply_time", comment = "申请时间")
    private LocalDateTime applyTime;

    @Column(value = "assign_time", comment = "分配时间")
    private LocalDateTime assignTime;

    @Column(value = "accept_time", comment = "律师受理时间")
    private LocalDateTime acceptTime;

    @Column(value = "complete_time", comment = "完成时间")
    private LocalDateTime completeTime;

    @Column(value = "close_reason", comment = "关闭原因")
    private String closeReason;

    @Column(value = "risk_level", comment = "风险等级")
    private String riskLevel;

    @Column(value = "last_analyzed_time", comment = "最近分析时间")
    private LocalDateTime lastAnalyzedTime;

}
